Skip to main content

Docker Compose

SyncNow can be deployed from a docker compose file as described here.

Docker Environment Parameters

Refer to Environment Variables Configuration Parameters for all environment variables.

Example, SyncNow - PostrgreSQL

Below is a docker-compose file with postgres and SyncNow.

version: '3.3'
services: 
  postgres:
    container_name: postgres
    image: postgres:12
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: <password>
      PGDATA: /data/postgres
    volumes:
       - postgres:/data/postgres
    ports:
      - "5432:5432"
    networks:
      - syncnow-net
    restart: unless-stopped  

  pgadmin:
    container_name: pgadmin
    image: dpage/pgadmin4
    environment:
      PGADMIN_DEFAULT_EMAIL: pgadmin4@pgadmin.org
      PGADMIN_DEFAULT_PASSWORD: admin
    volumes:
       - pgadmin:/root/.pgadmin
    ports:
      - "5050:80"
    networks:
      - syncnow-net
    restart: unless-stopped

  syncserver:
    image: repo-images.syncnow.io/syncnowserver:latest
    container_name: syncserver
    ports:
      - '5030:5030'   
    environment:
      - "ASPNETCORE_URLS=http://*:5030"        
      - "SETTINGS__DATABASECONFIGURATION__DATABASETYPE=PostgreSQL"      
      - "SETTINGS__DATABASECONFIGURATION__SERVER=postgres"      
      - "SETTINGS__DATABASECONFIGURATION__PORT=5432"      
      - "SETTINGS__DATABASECONFIGURATION__USERNAME=postgres"      
      - "SETTINGS__DATABASECONFIGURATION__PASSWORD=password"      
      - "SETTINGS__DATABASECONFIGURATION__TRANSPORTENCRYPT=False"      
      - "SETTINGS__DATABASECONFIGURATION__DATABASE=SyncNow"    
      - "SETTINGS__VECTORDATABASECONFIGURATION__DATABASETYPE=Redis"      
      - "SETTINGS__VECTORDATABASECONFIGURATION__URL=redis:6379"     
      - "SETTINGS__VECTORDATABASECONFIGURATION__USERNAME=syncnowuser"      
      - "SETTINGS__VECTORDATABASECONFIGURATION__PASSWORD=password"     
      - "SETTINGS__DATABASECONFIGURATION__File=./database/syncnow.db" 
      - "SETTINGS__AISETTINGS__APIKEY=xxxxxxxxxxxx"           
      - "SETTINGS__AISETTINGS__CHATCOMPLETIONAIPROVIDER=AzureOpenAI"
      - "SETTINGS__AISETTINGS__CHATCOMPLETIONMODELNAME=gpt-4o-mini"
      - "SETTINGS__AISETTINGS__EMBEDDINGDEPLOYMENTNAME=text-embedding-ada-002"
      - "SETTINGS__AISETTINGS__PROVIDERURL=https://example-ai.cognitiveservices.azure.com/"
      - "KESTREL__ENDPOINTS__HTTP__URL=http://+:5030"
      - "KESTREL__ENDPOINTS__HTTPS__URL=http://+:5031"                         
    networks:
      - syncnow-net
    depends_on:
      - postgres

networks:
  syncnow-net:
volumes:
    postgres:
    pgadmin: